local skynet = require "skynet"

-- 将时间戳转换为年月日时分秒格式
-- 先将时间戳转换为整数，避免os.date报错
function format_time(timestamp)
    return os.date("%Y-%m-%d %H:%M:%S", math.floor(timestamp))
end

function task()
    skynet.error("task")
    
    -- 获取并格式化Skynet节点开始运行的时间
    local start_timestamp = skynet.starttime()
    skynet.error("start time", start_timestamp, "->", format_time(start_timestamp))
    
    skynet.sleep(200)
    
    -- 获取并格式化当前时间
    local current_timestamp = skynet.time()
    skynet.error("time", current_timestamp, "->", format_time(current_timestamp))
    
    -- 获取Skynet节点已经运行的时间（毫秒）
    local elapsed_time = skynet.now()
    skynet.error("now", elapsed_time .. "ms", "->", string.format("%.2f秒", elapsed_time/100))
end

skynet.start(function ()
    skynet.fork(task)
    -- 添加退出逻辑，避免阻塞
    skynet.fork(function()
        skynet.sleep(300)  -- 等待足够长时间让任务完成
        skynet.exit()
    end)
end)